<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>

    // 边界符 
    // （1）单词边界  \b

    // let string = 'The cat scattered his food all over the room.'

    // 想找到cat这个单词，但是如果只是使用/cat/这个正则，就会同时匹配到cat和scattered这两处文本，

    // const reg = /cat/g
    // console.log(string.replace(reg, 'dog'));

    // 这时候就可以用到单词边界\b，它其实匹配的是能构成单词的字符(\w)和不能构成单词的字符(\W)中间的那个位置。
    // 这个正则就只会匹配到单词cat而不会匹配到scattered了

    // const reg = /\bcat\b/
    // console.log(string.replace(reg, 'dog'))


    //（2）字符串边界
    // 注意：如果^ 和 $ 在一起，表示必须是精确匹配
    //      ^表示匹配行首的文本
    //      $表示匹配行尾的文本
    // const reg = /^a/
    // console.log(reg.test("ab")); //true
    // console.log(reg.test("ba")); //false


    // const reg = /a$/
    // console.log(reg.test("ab")); //false
    // console.log(reg.test("ba")); //true

    // const reg = /^a$/
    // console.log(reg.test("a")); //true
    // console.log(reg.test("aa")); //false 表示必须是精确匹配
</script>

</html>